package com.dao;

import java.util.ArrayList;
import java.util.List;

import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

import com.bean.BimestreBean;

public class BimestreDao {
	
	public static final String TABELA = "bimestre";
	
	public static final String COLUNA_BIM_UNI_ID = "uni_id";
	public static final String COLUNA_BIM_ID = "bim_id";
	public static final String COLUNA_BIM_NOME = "bim_nome";
	
	public long insert(SQLiteDatabase escola, BimestreBean bimBean){
		
		ContentValues valores = new ContentValues();
		valores.put(COLUNA_BIM_UNI_ID, bimBean.getUnidade().getId());
		valores.put(COLUNA_BIM_NOME, bimBean.getNome());
		
		return escola.insert(TABELA, null, valores);
		
	}
	
	public long update(SQLiteDatabase escola, BimestreBean bimBean){
		
		ContentValues valores = new ContentValues();
		valores.put(COLUNA_BIM_NOME, bimBean.getNome());
		
		return escola.update(TABELA, valores, COLUNA_BIM_UNI_ID + " = " + bimBean.getUnidade().getId() + 
				" AND " + COLUNA_BIM_ID + " = " + bimBean.getId(), null);
		
	}
	
	public boolean delete(SQLiteDatabase escola, BimestreBean bimBean){
		return escola.delete(TABELA, COLUNA_BIM_UNI_ID + " = " + bimBean.getUnidade().getId() + 
				" AND " + COLUNA_BIM_ID + "=" + bimBean.getId(), null) > 0;
	}
	
	public BimestreBean buscaPorCodigo(SQLiteDatabase escola, long unidadeId, long rowId){
		StringBuilder sql = new StringBuilder();
		sql.append(" SELECT * ");
		sql.append("   FROM " + TABELA );
		sql.append("  WHERE "+ COLUNA_BIM_UNI_ID + "=" + unidadeId );
		sql.append("    AND "+ COLUNA_BIM_ID + "=" + rowId);
		
		BimestreBean bimBean = new BimestreBean();
		Cursor cursor = escola.rawQuery(sql.toString(), null);

		if(cursor.getCount() > 0){

			cursor.moveToFirst();

			bimBean.getUnidade().setId(cursor.getInt(cursor.getColumnIndex(COLUNA_BIM_UNI_ID)));
			bimBean.setId(cursor.getInt(cursor.getColumnIndex(COLUNA_BIM_ID)));  
			bimBean.setNome(cursor.getString(cursor.getColumnIndex(COLUNA_BIM_NOME)));

			cursor.close();

			return bimBean;

		} else{

			cursor.close();
			return null;

		}
		
	}
	
	public List<BimestreBean> getAll(SQLiteDatabase escola, long unidadeId){
		
		StringBuilder sql = new StringBuilder();
		sql.append(" SELECT * FROM " + TABELA + " WHERE " + COLUNA_BIM_UNI_ID + " = '" + unidadeId +"' " );

		List<BimestreBean> bimList = new ArrayList<BimestreBean>();
		
		Cursor cursor = escola.rawQuery(sql.toString(), null);
		
		while(cursor.moveToNext()){
			
			BimestreBean bimBean = new BimestreBean();
			
			bimBean.getUnidade().setId(cursor.getInt(cursor.getColumnIndex(COLUNA_BIM_UNI_ID)));
			bimBean.setId(cursor.getInt(cursor.getColumnIndex(COLUNA_BIM_ID)));
			bimBean.setNome(cursor.getString(cursor.getColumnIndex(COLUNA_BIM_NOME)));
			
			bimList.add(bimBean);
			
		}
		
		cursor.close();
		return bimList;
		
	}
			
}
